﻿<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Stock_In_Add.aspx.cs" Inherits="JKF.Web.Stock.In.Stock_In_Add" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>产品/耗材入库添加页面</title>
 <style type="text/css">
   label
    {
    	color:Black;
    }
    .showMsg
    {
    	color:Red;
    }
    
    </style>
        <%= RegScript("~/js/jquery.1.5.js")%>
        <%= RegScript("~/js/jquery.js")%> 
        <%=RegScript("~/js/Common.js")%>
        <%=RegScript("~/js/jquery.json.js")%>
        <%=RegScript("~/js/jquery.nhis.js")%>
        <%=RegScript("~/js/jquery.rchis.js")%>
        <%=RegScript("~/js/jquery.validate.js")%>
        <%=RegScript("~/js/DatePicker/WdatePicker.js")%>
        <%=RegStyle("~/js/suggest/jquery.suggest.css")%>
        <%--<%=this.RegStyle("~/App_Themes/Theme1/common.css")%>--%>
        <%= RegScript("~/js/jquery-ui-custom.min.js")%>
        <%= RegScript("~/js/check.js")%>
        <link href="/App_Themes/Theme2/Include.css"   rel="stylesheet" type="text/css" />
        <script src="/js/Uppop/tipswindown2.js"  type="text/javascript"></script> 
    
    
    <script type="text/javascript" language="javascript">
        var isAdd = '<%=NoAddRedirect%>'  //没有权限跳转到提示页面
        $(function () {
            $("#BtnSave").click(function () {
                
                saveModule();
                //tipsWindown.close();
            });
            // 单击产品分类时，获取此产品分类下的所有产品数据
            $('#SORT_TYPE').change(function () {
                var typeId = $(this).val();
                if (typeId == '-1') {
                    self.$('#PRODUCT_KEY').html('<option value="-1">请选择</option>');
                    return false; //如果没有选择，则不去请求
                }
                //截取TYPE字段
                var sort_type = typeId.substr(typeId.indexOf('|') + 1, 1);
                //截取主键guid字段
                var sort_key = typeId.substr(0, typeId.indexOf('|'));
                if (sort_type != '1') {
                    //如果选择的不是合同类产品，则没有型号/规格  
                    $('#div_model').css('display', 'none');
                    $('#td_model').css('display', 'none');
                } else {
                    $('#div_model').css('display', 'block');
                    $('#td_model').css('display', 'block');
                }
                //异步请求产品数据
                $.post('/do/Product/Product.do',
                       { ActionName: "GetProductBySort_Key", SORT_KEY: sort_key },
                       function (data) {
                           if (data.error == true) {
                               ShowWarn(data.message);
                           }
                           else {
                               self.$('#PRODUCT_KEY').html('').append(data.message);
                           }
                       }, 'json');
            });
            // 单击产品Select时，如果是合同类产品，则填充型号/规格
            $('#PRODUCT_KEY').change(function () {
                if ($(this).val() == '-1') {
                    $('#MODEL').val('');
                    return false; //如果没有选择，则不去请求
                }
                var model = $('#PRODUCT_KEY option:selected').attr('model');
                //alert(model);
                $('#MODEL').val(model);
            });

            // 注册入库数量键盘输入事件
            $('#PRODUCT_NUMS').keyup(function () {
                if (this.value.length == 1) {
                    this.value = this.value.replace(/[^1-9]/g, '');
                } else {
                    this.value = this.value.replace(/\D/g, '');
                }

            }).blur(function () {
                if (this.value.length == 1) {
                    this.value = this.value.replace(/[^1-9]/g, '');
                } else {
                    this.value = this.value.replace(/\D/g, '');
                }
            });
        });  
    </script>

    <script type="text/javascript">
        var intSetTimeOutID; // 用于停止计时器
        var arrLinkBtn = new Array();
        arrLinkBtn.push(new Array('clearProductForm()', '继续添加')); //调用函数的参数要用双引号
        arrLinkBtn.push(new Array('parent.tipsWindown.close()', '返回列表'));
        var AppPath = "<%=AppPath %>";
        var handler = AppPath + '/do/Stock/Stock_In.do';
        var scid = '<%=P("moduleKey") %>';
        var operationType = 'InsertStock_In'; // 操作类型 
        var dateCreateGuid = '<%=Guid.NewGuid() %>'; //产生guid
        var createNULLGuid = '<%= new Guid() %>'; //表示为空字符串GUID
        var dateCreateDate = '<%=DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") %>'; //如果是添加则取当前日期 如果是修改则是数据创建时间
        var ntEmpt = /^[^ ]+$/;
        var dtReg = /^\d{4}(\/|-)([1][0-2]|[1-9]|0[1-9])(\/|-)([1-2][0-9]|3[0-1]|[1-9]|0[1-9])( (0?[0-9]|1[0-9]|2[0-4])(:([0-5][0-9])){1,2})?$/;
        var ntmd5 = /^\w{8}-(\w{4}-){3}\w{12}$/;  // 校验MD5有效性
        var ntFloat = /^\d+(\.\d+)?$/;  // 验证是否为浮点数
        $(function () {
            $('#DATE_IN').val(dateCreateDate); //填写默认日期
            check();
            InitForm();
            // 检查店面名称
            checkName();
            //判断是添加还是修改
            if (!ntEmpt.test(scid)) {
                //添加
                $('#prompt').html('<div class="showMsg">温馨提示：以下信息一经保存后，一些信息将不能再修改！请确认好后再保存！</div><br/>');
            }
            $('#btnclose').click(function () {
                parent.tipsWindown.close();
            });
            if (ntEmpt.test(scid)) {
                //表示是修改，则移除继续添加按钮
                arrLinkBtn.shift(); //移除第一项
            }
        });
        //$.FxNull(jd.val(), "")  此方法是如果获取到的为Null或者undefine 就赋值为"" 
        function check() {
            alxVr.push({ id: "SORT_TYPE",
                rule: function (jd) {
                    if (jd.val() == '-1') {
                        this.msg = "请选择产品类别."; return false;
                    }
                    return true;
                }
            });
            alxVr.push({ id: "PRODUCT_KEY",
                rule: function (jd) {
                    if (jd.val() == '-1') {
                        this.msg = "请选择所属分类."; return false;
                    }
                    return true;
                }
            });
            alxVr.push({ id: "PRODUCT_NUMS",
                rule: function (jd) {
                    if (!ntEmpt.test(jd.val())) {
                        this.msg = "请输入产品入库数量."; return false;
                    } else if ($.FxNull(jd.val(), "").length > 10) {
                        this.msg = "产品入库数量不要超过10个字符"; return false;
                    }
                    return true;
                }
            });
            alxVr.push({ id: "DATE_IN",
                rule: function (jd) {
                    if (jd.val()==="") {
                        this.msg = "请选择入库日期."; return false;
                    } return true;
                }
            });


            alxVr.push({ id: "MEMO",
                rule: function (jd) {
                    if (codeLength(jd.val()) > 50) {
                        this.msg = "备注长度不可大于50个字符";
                        return false;
                    }
                    return true;
                }
            });

            $.validateBind();

        }
        // 检查名称是否被占用
        function checkName() {
            $('#NAME').blur(function () {
                var new_name = $(this).val();
                var old_name = $('#hidNAME').val(); // 原来的名称
                if (new_name.length > 0 && old_name != new_name) {
                    $.post(handler, { ActionName: 'CheckProductName', PRODUCT_NAME: $(this).val() },
                     function (rslt) {
                         if (rslt.MessageCode == "Ok") {
                             if (rslt.Data) {
                                 $('#span_name').text('此名称已经存在,请重新输入！');
                                 // 禁用保存按钮
                                 $('#BtnSave').attr('disabled', 'disabled').attr('title', '按钮被禁用'); ;
                                 return false; // 表明已存在
                             }
                             $('#span_name').text('');
                             // 启用保存按钮
                             $('#BtnSave').removeAttr('disabled').attr('title', '按钮可用');
                             return true;
                         }
                         alert(rslt.Message);
                     }, 'json');
                } else if (new_name == old_name) { // 如果没有修改则恢复
                    $('#span_name').text('');
                    // 启用保存按钮
                    $('#BtnSave').removeAttr('disabled').attr('title', '按钮可用');
                }
            });

        }
        // 清空表单内容
        function clearProductForm() {
            $('input[type=text]').val('');
            $('select').val('-1');
            $('#MEMO').val('');
            $('#OLD_PRODUCT_NUMS').val('0'); //原始入库数量
            clearTimeout(intSetTimeOutID); // 停止计时器
            // 如果是单击继续添加，则关闭弹出层
            $('#resultTipDiv').dialog('close');
        }
        // 保存店面信息
        function saveModule() {
            if (!$.validateAll()) {
                if ($(".alxv-failed").size() > 0) {
                    $(document).scrollTop($(".alxv-failed").eq(0).scrollTop());
                }
                return;
            };

            // 处理添加和修改
            processEditorInsert(operationType);
        }
        //处理店面表的添加和修改
        function processEditorInsert(actionName) {
            /// <summary>处理店面表的添加和修改</summary>
            /// <param name="actionName" type="String">请求的ActionName</param>
            var tObj = {}, objCfg = {}, pName;
            $(":text,input:checked,select,textarea").each(function () {
                if ($(this).attr('id') == "SORT_TYPE" || $(this).attr('id') == "MODEL" || $(this).attr('id') == "succeed") {
                    return true;  // 返回下一次循环。
                }
                pName = ($.FxNull($(this).attr("type"), "").toLowerCase() == "radio") ? $.FxNull($(this).attr("name"), "").toUpperCase() : $.FxNull($(this).attr("id"), "").toUpperCase();
                tObj[pName] = (objCfg[pName]) ? $.FxNull($(this).attr(objCfg[pName]), "") : $(this).val();
            });
            tObj.OLD_PRODUCT_NUMS = $('#OLD_PRODUCT_NUMS').val();// 原始数量
            if (ntmd5.test(scid) && scid) {// 判断是否有效MD5
                tObj.IN_KEY = scid;
            }
            else if (scid == '') {
                tObj.IN_KEY = dateCreateGuid;
            } else {
                alert('不存在此记录');
                return false;
            }
            $.post(handler, { ActionName: actionName, moduleObj: $.toJSON(tObj) }, function (rslt) {
                if (rslt.MessageCode == "Ok" && rslt.Success) {//保存成功
                    //alert(rslt.Message);
                    scid = rslt.Data.IN_KEY; //记录主键
                    var shopType = 'Edit';
                    if (actionName == 'InsertStock_In') {
                        shopType = 'Insert';
                    }
                    updateView(shopType, rslt.Data.IN_NO, rslt.Data.USER_NAME); //添加或修改数据成功后更新列表页面
                    //parent.tipsWindown.close(); //  必须加上parent关闭,这样算是在Shop_View.aspx中执行
                    //top.$("#screenEdit").dialog("close"); 
                    
                    $.popResultTip(rslt.Message, arrLinkBtn);
                    return;
                } else if (rslt.MessageCode == "No") {
                    alert(rslt.Message + '\r\n单击确定并关闭此窗口');
                    parent.tipsWindown.close(); //关闭弹出层
                    return;
                }
                alert(rslt.Message);
            }, "json");
        }
        //处理更新shop_view.aspx中表格显示 
        function updateView(shopType,in_no,user_name) {
            /// <summary>处理更新shop_view.aspx中表格显示</summary>
            /// <param name="shopType" type="String">添加还是修改</param>
            tr = $("<tr key=" + scid + "></tr>");

            $('<td width="100px"></td>').appendTo(tr).html('<input  class="common_btn_edit mr12"  type="button" onclick="addProductStockIn(' + "'" + scid + "'" + ')" /><input name="" type="button" class="common_btn_del mr12"  />');
            $('<td width="120px"></td>').appendTo(tr).text(in_no); //入库单号 
            $('<td width="100px"></td>').appendTo(tr).text($("#SORT_TYPE option:selected").text()); // 产品类别
            $('<td width="160px"></td>').appendTo(tr).text($("#PRODUCT_KEY option:selected").text()); // 产品名称
            $('<td width="100px"></td>').appendTo(tr).text($("#PRODUCT_NUMS").val()); // 入库数量
            $('<td width="100px"></td>').appendTo(tr).text($("#MEMO").val()); // 备注
            $('<td width="100px"></td>').appendTo(tr).text(user_name); // 操作员
            $('<td width="100px"></td>').appendTo(tr).text(dateCreateDate); //录入日期
            if (shopType == 'Insert') {
                scid = "";
            }
            // 这样才是shop_view.aspx页面，因为此页面是在Shop_View.aspx中打开
            window.parent.popRetuInfo($(tr), scid);
        }

        // 如果是编辑某条记录时，先填写读取到的内容
        function InitForm() {
            if ($.FxNull(scid, "").length > 0) { //如果主键不为空，初始化信息
                operationType = 'EditStock_In'; // 当获取到的店面编号不为空，则表示是修改
                $.post(handler, { ActionName: "GetStock_InByCode", moduleKey: $.FxNull(scid, "") },
                 function (ItemInfo) {
                     if (ItemInfo.MessageCode == "Ok") {
                         if (ItemInfo.Data) {
                             var item = ItemInfo.Data;
                             // 先获取到产品类别
                             $("#SORT_TYPE").val($.FxNull(ItemInfo.Mode.SORT_KEY + '|' + ItemInfo.Mode.TYPE, ""));
                             $("#SORT_TYPE").attr('disabled','disabled');
                             //所属分类
                             $('#SORT_TYPE').change();
                             var interCityId = setInterval(function () {
                                 if ($('#PRODUCT_KEY option').length > 1) {
                                     $('#PRODUCT_KEY').val($.FxNull(item.PRODUCT_KEY, ""));
                                     $('#PRODUCT_KEY').change(); //调用,以便填充型号/规格
                                     $("#PRODUCT_KEY").attr('disabled', 'disabled');
                                     clearInterval(interCityId);
                                 }
                             }, 500);
                             $("#MEMO").val(($.FxNull(item.MEMO, ""))); // 备注
                             $("#IN_NO").val($.FxNull(item.IN_NO, "")); // 入库单号
                             $('#DATE_IN').val($.FxNull(ItemInfo.FormatString, "")); // 入库日期
                             $('#PRODUCT_NUMS').val($.FxNull(item.PRODUCT_NUMS, "")); // 入库数量
                             $("#PRODUCT_NUMS").attr('disabled', 'disabled');
                             $('#OLD_PRODUCT_NUMS').val(item.PRODUCT_NUMS); //原始入库数量 
                         }
                         return;
                     }
                     alert(ItemInfo.Message);
                 }, "json");
            }
        }    
    </script>
</head>
<body id="modulebody">
    <form id="form1" runat="server">
    
    <div id="prompt" class="pop_btn">
       <%-- <input id="BtnSave" type="button"  class="btn77"  value="保存" />  --%>
    </div>
     <div class="pop_logging_body" style="padding:22px 20px; margin-top:0px; margin-bottom:26px; margin-right:35px; margin-left:35px "> 

         <table width="100%" border="0" cellspacing="0" cellpadding="0"   class="common_table_noborde" id="input_table"> 
                    <tr>
                        <td align="right"><span class="f12red">*</span>产品类别：</td>
                        <td>
                             <select id="SORT_TYPE" style="width:150px">
                                <option value="-1" >请选择</option>
                                <%=PRODUCT_SOTR %> 
                            </select>
                        </td>
                        <td align="right"><span class="f12red">*</span>产品名称：</td>
                        <td>
                             <select id="PRODUCT_KEY" style="width:150px">
                                  <option value="-1">请选择</option> 
                             </select> 
                        </td> 
                        <td align="right" id="td_model"><label for="MODEL">&nbsp; 型号/规格：</label> </td>
                         <td  >
                             <!--产品型号/类型 只有合同类产品才有-->
                             <div id="div_model">
                                  
                                 <input  type="text" id="MODEL" disabled="disabled"/>
                             </div>
                         </td> 
                    </tr>
                     
                    <tr> 
                 
                        <td align="right"><span class="f12red">*</span>入库数量：</td>
                        <td>
                            <input id="PRODUCT_NUMS" type="text"  maxlength="10"/>  
                            <!--原始入库数量-->
                            <input id="OLD_PRODUCT_NUMS" type="hidden"  value="0"/>
                         </td>
                        <td align="right"><span class="f12red">*</span>入库日期：</td>
                        <td>
                            <input type="text"  id="DATE_IN"    onfocus="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})" />
                        </td>
                    
                        <td align="right">入库单号：</td>
                        <td >
                            <input id="IN_NO" type="text" disabled="disabled" value="系统自动生成"/>
                        </td> 
                    </tr>
                     
                    <tr>
                    <td align="right">描述：</td>
                        <td colspan="5"><input id="MEMO" type="text" style="width:300px"/> </td>
                    </tr>
                </table>
      </div>
      <div class="pop_btn">
         <input id="BtnSave" type="button" class="common_btn_save mr30 mb25" value="" />
	     <input id="btnclose" type="button" class="common_btn_remove mb25" value=" "  />
     </div>
    </form>
</body>
</html>
